1. Field
Apparatuses and methods consistent with exemplary embodiments relate a method and an apparatus for transmitting data, and more particularly, to a method and an apparatus for transmitting data, which calculates a sending rate based on a data arrival rate and controls data transmission.
2. Description of the Related Art
Thanks to the advance of network technology, users increasingly wish to share high capacity multi-media files such as motion picture files, music files, and still image files, as well as diverse information in an online environment. Also, as mobile devices of various forms such as smart phones have been popularized, the use of networks increases. Such an increase in demand requires a technique for transmitting high capacity multimedia files swiftly and exactly.
A method for transmitting data may be divided into a reliable method such as a transmission control protocol (TCP) and an unreliable method such as a user datagram protocol (UDP). The unreliable method is commonly preferred for high-speed transmission of huge data. Methods for transmitting data at a high speed while improving the reliability of data transmission using the unreliable method have been suggested.
Related-art methods for transmitting high capacity files swiftly include a method using time elements such as a round trip time (RTT), queuing delay, and an inter-packet delay time and a method using packet loss elements such as information on whether packets are lost or not and a packet loss rate. A method for controlling a transmission speed (sending rate) using the time elements should measure a time swiftly and exactly, but has difficulty in obtaining correct data if this method is used in a virtual machine on an operating system, and thus is limited in precisely controlling the transmission speed. Therefore, there is a demand for a method for controlling a transmission period in a virtual machine, which uses elements other than the time elements and has compatibility with various operating systems. A method for controlling a transmission speed using the packet loss elements is mainly used when data needs to be transmitted after congestion has already occurred, that is, when data needs to be transmitted at a speed using a bandwidth larger than an available bandwidth of a network. However, this method applies ineffective information and thus may not reflect a state of the network promptly.